/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package manager.modulo.estoque.enumerator;

import java.util.LinkedList;

/**
 *
 * @author THIAGO
 */
public class EnumTipoSaidaEstoque {

    public enum TipoSaidaEstoque {
        VENDAAVULSA,
        EXECUCAOOBRA,
        NAOIDENTIFICADO
    }

    public static TipoSaidaEstoque ConverterNumeroEnum(int numero) {
        switch (numero) {
            case 1:
                return TipoSaidaEstoque.VENDAAVULSA;
            case 2:
                return TipoSaidaEstoque.EXECUCAOOBRA;
            default:
                return TipoSaidaEstoque.NAOIDENTIFICADO;
        }
    }

    public static int ConverterEnumNumero(TipoSaidaEstoque tipoInsumo) {
        switch (tipoInsumo) {
            case VENDAAVULSA:
                return 1;
            case EXECUCAOOBRA:
                return 2;
            default:
                return 0;
        }
    }

    public static String ConvertEnumString(TipoSaidaEstoque tipoInsumo) {
        switch (tipoInsumo) {
            case VENDAAVULSA:
                return "VENDA AVULSA";
            case EXECUCAOOBRA:
                return "EXECUÇÃO DE OBRAS";
            default:
                return "NÃO IDENTIFICADO";
        }
    }

    public static TipoSaidaEstoque ConvertStringEnum(String unidade) {
        if (unidade.equalsIgnoreCase(EnumTipoSaidaEstoque.ConvertEnumString(TipoSaidaEstoque.VENDAAVULSA))) {
            return TipoSaidaEstoque.VENDAAVULSA;
        } else if (unidade.equalsIgnoreCase(EnumTipoSaidaEstoque.ConvertEnumString(TipoSaidaEstoque.EXECUCAOOBRA))) {
            return TipoSaidaEstoque.EXECUCAOOBRA;
        } else {
            return TipoSaidaEstoque.NAOIDENTIFICADO;
        }
    }

    public static LinkedList<TipoSaidaEstoque> ListaTipos() {
        LinkedList<TipoSaidaEstoque> listaUnidades = new LinkedList<TipoSaidaEstoque>();
        listaUnidades.add(TipoSaidaEstoque.VENDAAVULSA);
        listaUnidades.add(TipoSaidaEstoque.EXECUCAOOBRA);
        
        return listaUnidades;
    }
    
    public static LinkedList<String> ListaStringTipos() {
        LinkedList<String> listaUnidades = new LinkedList<String>();
        listaUnidades.add(EnumTipoSaidaEstoque.ConvertEnumString(TipoSaidaEstoque.VENDAAVULSA));
        listaUnidades.add(EnumTipoSaidaEstoque.ConvertEnumString(TipoSaidaEstoque.EXECUCAOOBRA));
        
        return listaUnidades;
    }   
}
